//
//  YDHomeViewModel.swift
//  weibo
//
//  Created by 孙亚东 on 16/6/27.
//  Copyright © 2016年 Sunyadong. All rights reserved.
//

import UIKit

class YDHomeViewModel: NSObject {

    //定义一个数组
   lazy var StatusModels: [YDUserViewModel] = [YDUserViewModel]()
    

    static var shareInstance = YDHomeViewModel()
    
    //实现加载数据功
    func loadData (since_id: Int, max_id: Int, success: (count: Int)->(), fail: ()->()) {
    
    // 加载数据
        let manager = YDClientManager.shareManager

        //https://api.weibo.com/2/statuses/home_timeline.json?access_token=2.00Ds4CFC7jr__E634de1aa1004uR8J
        
        
 /*

        since_id	false	int64	若指定此参数，则返回ID比since_id大的微博（即比since_id时间晚的微博），默认为0。
        max_id	false	int64	若指定此参数，则返回ID小于或等于max_id的微博，默认为0。


*/
        
        //添加两个参数
        
        let dic = ["access_token": YDOauthViewModel.shareOauthViewModel.access_token,
                    "since_id": since_id,
                    "max_id": max_id
 
        ]
        
        manager.sendRequest(.GET, URLString: "https://api.weibo.com/2/statuses/home_timeline.json", parameters: dic, success: { (JSON) -> Void in
            
            
            

            guard let jsonDic = JSON as? [String: AnyObject] else {
            
                return
            
            
            }
            
            
            //定义一个临时数组，用来保存数据
            var tempArr = [YDUserViewModel]()
            
            
            //将jsonDic进行字典转模型
            
            guard let jsonArr = jsonDic["statuses"] as? [[String: AnyObject]] else {
            
                return
            
            }
            
            //判断是否还有新数据
            
//            if jsonArr.count == 0 {
//            
//            
//                print("没有更多数据")
//                
//            
//            }
            
            //遍历数组进行转模型
            
            for dict in jsonArr {
            
                let model = YDStatusModel(dic: dict)
                
                tempArr.append(YDUserViewModel(model: model))
      
            }
            
            
            if max_id > 0 { //证明正在加载更多
                
                YDHomeViewModel.shareInstance.StatusModels = YDHomeViewModel.shareInstance.StatusModels + tempArr
                
       
            }else{ //第一次加载数据
            
                YDHomeViewModel.shareInstance.StatusModels = tempArr + YDHomeViewModel.shareInstance.StatusModels
                
            
            }
            

            success(count: jsonArr.count)
            
            
            }) { (error) -> Void in
                
                
                
                
                
        }

    
    
    
    
    }
    

}
